******************************************************************************************************************************************************


ACMEtool3 2025-05-30 (Build 1-0-0-66)

This is the third minor fix of the special Version 2018-11-09 (Build 1-0-0-61/63),
together with the first major revision featuring new methods for the fraction of dividing cells detection.


******************************************************************************************************************************************************

Installation

For easy installation download and execute the windows installer: 'Setup_ACMEtool3_2025-05-30.exe'

Note: You need to have administrator rights to perfom installations on your windows machine!

------------------------------------------------------------------------------------------------------------------------------------------------------

Alternative installation (without administrator rights needed):

Download the application package 'ACMEtool3_2025-05-30.zip'.
Copy the whole extracted (unzip first!) ACMEtool3 folder to your local hard disk and double-click the application file 'ACMEtool3_2025-05-30'.
Generally, no further installation is necessary, as the needed Microsoft Net Framework 4.7.2 is usually already present on most of the current computer.
If it does not work, please report back.

Note: It is important that all files and dlls of the ACMEtool3 folder are present at the same file location as the ACMEtool3 executable. 
Furthermore the ACMEtool3 folder with all files and dlls needs to be at a location there the user has full access and execution rights. 
Sometimes the ACMEtool3 executable needs to be run with administrator rights in order to get full access to the file location and/or corresponding needed dlls.

******************************************************************************************************************************************************

Compatibility 

ACMEtool3_2025-05-30 is fully compatible to ACMEtool3 2021-04-02, ACMEtool3 2020-07-27 and ACMEtool3 2018-11-09. 
The metadata file structure is still the same. Old metadata files can be loaded and further processed with ACMEtool3_2025-05-30 in the same manner like it had been with ACMEtool3 2021-04-02, ACMEtool3 2020-07-27 and ACMEtool3 2018-11-09.


======================================================================================================================================================

Changes in Version 2025-05-30 (Build 1-0-0-66)


------------------------------------------------------------------------------------------------------------------------------------------------------

Program start - At program start some checks on the current installation are done now. On problems, you will receive a warning message including possible solutions. 
In general, ACMEtool can be executed on a windows machine without any installation, by just extracting (unzip) and copying the ACMEtool folder to your local hard disk. 
However, this has been often raising problems due to windows restrictions and / or restrictive user rights. Mostly, if user forget to extract the downloaded ACMEtool zip archive, 
try to run the executable without the needed dlls present at the program location, or try to run ACMEtool from a folder there they do not have full access or any other restricted location. 

------------------------------------------------------------------------------------------------------------------------------------------------------

Dark Mode - As a new feature Dark Mode can be enabled now in the upper right corner of the start window, in order to have a more eye friendly ACMEtool environment, 
especially if working with fluoreszenz microscopy images (tiny signals on black background). 
Note: The mode must be selected before opening the Analyze Directory and Create Metadata or the Load Metadata window, it cannot be changed during run time. 
Personal dark mode colors can be loaded by adding a text file called myPersonalDarkModeColors.txt to the program folder. 
The file must contain four text lines, whereas each line representing a single color code. The lines are for: BackColorWindow, BackColorBoxes, ForeColorBoxes, and HighlightColorBoxes. 
The color code can by any named color, e.g., DarkGray (https://htmlcolorcodes.com/color-names/) or a number from 0 to 255 representing a gray value. 
The default dark mode colors are: 180, 60, White, Blue.

------------------------------------------------------------------------------------------------------------------------------------------------------

Debugging - If a file called 'Debug.txt' is present at the program folder, images from intermediate steps of the image processing are saved to a folder called Debug.

------------------------------------------------------------------------------------------------------------------------------------------------------

Start Window - The ACMEtool start window is now hidden during Analyze Directory and Create Metadata and Load Metadata. It comes back automatically after the corresponding windows are closed.

------------------------------------------------------------------------------------------------------------------------------------------------------

Analyze Directory and Create Metadata window - If selected image folder contains images with invalid file names, 
which do not follow the naming structure SMPnumber_FOVnumber_CHNname_SMPname_EXPtime, a more detailed error message is now given in the Directory Report tab.

------------------------------------------------------------------------------------------------------------------------------------------------------

**** IMPLEMENTATION OF A NEW IMAGE PROCESSING METHOD ****
Analyze Directory and Create Metadata window - Tab C.) Image Processing and Metafile  - Image Processing Method 

Local Maxima. Find Local Maxima, e.g., for Fraction of Dividing Cells (FDC) evaluations.
List has been extended by: DAPI_FDC 
In the Segmentation part of the underlying processing methods (Button >> Corresponding Parameter) the new processing method Local maxima has been added.

Algorithm: 
Image is evaluated pixel by pixel.
If pixel intensity is lower than the threshold, it is not considered as maxima.
If pixel intensity is lower than the neighbouring pixels, it is not a local maxima.
Otherwise it can be a maxima (intensity higher than a neighbour) or a plateau (intensity is the same than a neighbour).
For a plateau pixel it is not known yet if it is part of a maxima region, or just an intermediate area followed by other maxima. 
All found plateaus are evaluated in a second round if they touch a maxima (plateau is not a maxima) or not (plateau is a maxima).

If a tolerance value > 0 is given, all found maxima pixels are evaluated again. 
If the intensity of a neighbouring pixel is within the tolerance (maxima intensity  tolerance), and higher than the threshold, this pixel is set to maxima as well.

Note: With tolerance = 0 only single pixel maxima, and maxima regions with similar pixel intensities, are detected. 
By increasing the tolerance value the surrounding of a maxima pixel is more and more included in order to create a maxima region. 
However, if tolerance is too high, individual local maxima might grow together into a large combined maxima region, even if their original individual maxima intensity values differ largely.

------------------------------------------------------------------------------------------------------------------------------------------------------

Analyze Directory and Create Metadata window - Tab C.) Image Processing and Metafile  - Change at segmentation algorithm. 
In previous versions regions smaller four pixel where not processed in order to prevent calculation overload on noisy images, too low thresholds, or wrongly set parameter. 
With the implementation of the local maxima detection, the segmentation now works down to single pixel level. 
On the other hand, this could lead to a massive number of detected regions, resulting in long processing times. 
You can avoid that by choosing more reasonable segmentation parameter.

------------------------------------------------------------------------------------------------------------------------------------------------------

Analyze Directory and Create Metadata window - Tab C.) Image Processing and Metafile  - Use of invalid Channel Names
The use of invalid Channel Names is blocked now and raises an error message with further information. 
Channel Names with spaces, special characters, or characters, which are a math operators, could lead to errors at the later analysis. 
In the later SubSet definitions, it is possible to define overlays to other channels (Keywords: Nr_ChannelName_Signals). 
It will lead to wrong interpretations of the given definition if the channel name itself contains spaces or math operators. 
Not allowed and blocked are: ' ', '-', '+', '*', '/', '\', '<', '>', '=', '(', ')', '[', ']', '{', '}', '%', '$', '&', '|', '', '#', '?', '!', '^', '@', '', '~', '', '', '', '', '', '', '`', '', ''', '', '', '', ';', ':', '.' 
Note: Other special characters are expected to produce similar problems! Although they are not automatically blocked, it is not recommended to use them as part of a channel name.

------------------------------------------------------------------------------------------------------------------------------------------------------

Analyze Directory and Create Metadata window - Tab C.) Image Processing and Metafile  - Channel List
Problem: Removal of channels from the channel list leads to inconsistent channel numbering. 
Example: Four channels in the list (0-1-2-3). Channel 1 is removed, a new channel is added.  The resulting channel ids (0-2-3-3) will raise an error in the later analysis, due to double numbering. 
The issue has been fixed!

------------------------------------------------------------------------------------------------------------------------------------------------------

Analyze Directory and Create Metadata window - Tab C.) Image Processing and Metafile 
New feature - The system culture (regional settings of your computer) used to create the metadata file is no saved to an additional file '_UsedCulture.DAT'.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata 
New feature - Before loading a metadata file ACMEtool will check the system settings of your computer against the information in the '_UsedCulture.DAT' (if available).
If not matching, you will get the option to temporary change ACMEtools culture to the one of the metadata file. 
This enables you to load metadata files, created on other computers, with different regional settings.
In older Versions of ACMEtool this was not possible and required direct changes at your computers regional settings or a full recalculation of the metadata file.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - Shortcut keys
- Extended shortcut key list for channel change. Now up to 9 channels. (Keys 1 to 9).
- Extended shortcut key list for SubSet selection. (Keys: Q, W, E, R, T, Y(Z), U, I, O).
- Extended shortcut key list for Set selection. (Keys: A, S, D, F, G, H, J, K, L).
- Extended shortcut key list for Invalid selection. (Keys: Z(Y), X, C, V, B, N, M).
Note: If German is part of the keyboard layout name, a QWERTZ layout with Z for SubSet, and Y for Invalid is assumed. If not a QWERTY layout is assumed. 

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window 

- A new message box has been implemented after calculation and report creation. You are no longer forced to click it. It vanishes automatically after a short time.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - Zoom function via mouse scroll wheel

New function: Press CTRL (STRG on german keyboard) during scroll zoom to speed up zooming.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - New zoom function by selecting a zoom region

Point with the mouse on the upper left corner of the region you want to zoom in. Press and hold CTRL (STRG on german keyboard) and press and hold the left mouse button. 
Select the size of the zoom region by moving the mouse. After release of the left mouse button, the image zooms to the selected region. 
Note: To go back to the previous zoom you might press the Escape key.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - New function zoom reset

In addition to a click on the middle mouse button (mouse wheel), a zoom reset is now also available via the Escape key. 
If pressed the zoom jumps back to the previous zoom. If pressed again it is back to no zoom.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - Cell Info with new close-up function

The Cell Info got the new function 'Close-up'. If checked a zoomed close-up of the selected cell is displayed.
Note: Depending on the image size and the degree of zooming, the function might needs a reasonable amount of RAM and some extra calculation time. 
Depending on your hardware, it might feel a bit slow. On some older computer the zoom box function might even not work correctly. 
There is a known issue on Window 7 (32bit), but as this is outdated, we do not invest time to solve this.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - Cell Info (Bugfix)

In previous versions, overlay informations where given for all channels, although this information is not calculated for all possible overlays. 
Due to its hierarchical structure, overlays are only calculated from the current channel towards the end of the channel list, but not backwards. 
Example with 4 channels: Channel 1 has overlays with channel 2, 3, and 4. Channel 2 with 3 and 4, and channel 3 only with 4. 
In the current version only valid overlays are displayed in the Cell Info now.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - Set Definitions tab -  New function, automatically copy keywords

For a more easy copy-and-paste of valid keywords it is now possible to copy keywords form the Valid Keywords list automatically to the clipboard by performing a double-click on the selected keyword.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - Set Definitions tab - New function, save / load personal definitions

It is now possible to save and load personal Set, SubSet and Overlay definitions. 
Double-click on a Set, SubSet or Overlay definition to open the corresponding dialog window. 
ACMEtool saves the list of your personal default definitions at the program folder.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - Set Definitions tab - Changes at Set and SubSet definitions

It is now allowed to leave a Set or SubSet definition empty.
Set (empty): Take all detected cells for the Set, without excluding anything.
SubSet (empty): Cells fulfilling the Set definition are also in the SubSet. (SubSet = Set)

Sometimes you just want to take all objects for the analysis, so you do not want to define rules in order to exclude something. 
However, in previous versions of ACMEtool it was mandatory to give a definition. As a workaround solution it was needed to define dummy rules which include everything, e.g., Area>0 or MGV>0. 
In order to make the definitions less confusing, you can now leave definitions empty if there is nothing to define.
However, empty definitions are still internally processed with Area>0.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - Bugfix at FOV and ROI Report with Option Show Exposure Time

Exposure time value assignment was sometimes not in the correct order. The problem was a wrong reference. 
The correct exposure time of a given channel is the one of its reference image, not the one of the image with the current cannel number.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - New report function

New implemented option to show reports in a data grid style.

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata window - Cell report

It is now possible to select from up to 22 individual features for the cell report. 
In older versions, cell reports always had a default collection of 11 features. The option do select features was not implemented.

======================================================================================================================================================

Changes in Version 2021-04-02 (Build 1-0-0-65)

2021-04-02 (Build 1-0-0-65) is the second minor fix of the special Version 2018-11-09 (Build 1-0-0-61/63), 
which was modified from Version ACMEtool3_2014-07-29 by A. Ellrott, MPI-Bremen, 
and the direct follow up of Version 2020-07-27 (Build 1-0-0-64).

This version contains some new features to read out information of used ROIs and Marker. 

------------------------------------------------------------------------------------------------------------------------------------------------------

Load Metadata
Although officially not supported it seemed possible to process 16bit tiff images in ACMEtool2 up to build 1.0.0.53 from 22.04.2013. 
Starting with ACMEtool3 (Build 1.0.0.59) from 29.07.2014 this was not fully possible anymore. 
The processing seemed to work, but the images there displayed with background artefacts in the Metadata Analyze Window afterwards on the try to convert them to 8bit. 
Now, 16bit tiffs are loaded as they are without any conversion. This seems to display them correctly again. 
NOTE: 16bit tiffs are still not officially supported. This quick correction has been only done to offer ACMEtool2 users, who have only 16bit datasets available, a way towards the usage of ACMEtool3.

Metadata Analyze Window  FOV Browser
- Options Remove - Marker' were not functional. Marker could be only removed at Draw Marker. This has been fixed.

Metadata Analyze Window - 'Info / Settings'-tab
- Counting Frame: The check boxes show' and 'enabled' were not functional and had been removed. If one needs to count without any counting frame, simply set all counting frame offsets to 0 and press update.
- Info  Show Cell Info: The function has been modified. If a ROI is present on the current FOV it will now ask if the cell info for all cells or only cells inside ROIs should be shown.
- Info  Show Marker Info: New function. If Marker are set on the current FOV their corresponding parameter, e.g. coordinates, will be shown here.
- Info  Show ROI Info: New function. If ROIs are set on the current FOV their corresponding parameter, e.g. coordinates, will be shown here.

Metadata Analyze Window  - Calculate valid cells'  
- Evaluation of Definitions: The 'Could not evaluate definition for ...' error message has been extended with further information on the error inorder to find the 'real' problem.
Sometimes the error is not a wrong syntax or definition, but a more general problem, e.g., a missing or not accessible dll (Access is denied) at the ACMEtool folder. See the installation notes.

======================================================================================================================================================

Changes in Version 2020-07-27 (Build 1-0-0-64)

------------------------------------------------------------------------------------------------------------------------------------------------------

Analyze Directory and Create Metadata Window - Sample/FOV selection
- Problem: In general it is possible to deselect some Samples/FOVs and directly start the Image Processing on the selected ones, without performing a 'Move deselected samples (with all FOVs) to ...' and/or 'Move deselected FOVs to ...' function beforehand. The image processing can deal with this and will process only the selected ones. However, the follow-up Metadata Analysis will get in deep trouble, because the 'full' set of images is physical still there, but does not match to the 'limited' selection of calculated images in the metadata file. Error messages will pop-up and shown images might not correspond to the shown metadata. 
> Solution: If FOVs or Samples have been deselected, it is strongly recommended to perform a corresponding 'Move Image Files' function, before starting the image processing. To make this more clear, a message will pop-up now, if one enters the 'Image Processing'-tab without doing this beforehand. The user will be ask if the needed functions should be applied. By pressing 'yes' all needed functions will be applied automatically and the user can proceed with the image processing safely. 

------------------------------------------------------------------------------------------------------------------------------------------------------

Metadata Analyze Window - 'Set Definitions'-tab
- Problem: If one changed parameter, but forgot to do the calculation afterwards, the report will show the 'new' parameter in the header, but the calculated values are still based on the 'old' parameters from the time of last calculation.
> Solution: After change of parameter in the 'Set Definitions'-tab the Button 'Calculate valid cells' will get yellow in order to remind you that a recalculation should be done. If you leave the 'Set Definitions'-tab without doing a needed recalculation, a message will pop-up, and the recalculation will be performed automatically.

======================================================================================================================================================

Changes in Version 2018-11-09 (Build 1-0-0-61/63)

------------------------------------------------------------------------------------------------------------------------------------------------------
Main Window
- Popup message closes now automatically after some seconds.
- Disabled server validation process and software registration call.
- Version number label placed on left side (was hidden behind logo).
- Name of loaded metadata file shows up at text box now (was at version number label).
- Added additional information to current software status at text box.
- Changed logo of window form to ACMEtool3 logo.
- Removed 'about' entry from the menu (was not used).
- Buttons get a '1' and a '2' to indicate the workflow steps.
- Created tool tips for the buttons.

------------------------------------------------------------------------------------------------------------------------------------------------------
Analyze Directory and Create Metadata Window
- Inserted info "Please select your image directory from a local hard disk:" at 'browse for folder' window.
- Inserted error handling if directory with non or not valid images is selected.
- Changed the default image display style from 'full size' to 'fit window'.
- Implemented shortcut keys [1],[2],[3], ..., [9] for channel selection similar to Metadata Analyze Window.
- Added tool tips

- Image processing method descriptions (which were already implemented) are now shown on a new implemented label and on the tool tip.
- Corrected image processing method descriptions.

- Added new DAPI and FISH processing methods, where parameters have been (theoretical) adjusted to fit the new AxioCam702, which has approx. 10% smaller pixel than the old AxioCamMRm the methods had been originally applied to.
- Shifted the Binary Image selection menu.
- Made the selection for the post processing methods 'Closing' and 'Open' invisible. The methods are found to be inactive at image processing.
- Rearranged 'Image Processing and Metafile Creation of Selected' Tab.
- 'Additional Images' and 'Method Parameter' are now hidden by default to get a less confusing interface.

- Changed error handling, e.g., that window does not close anymore if there is just a problem with the channel naming.

- Changed calculation time prediction, and it is now shown at status label above progress bar and not anymore at window title. 
- The image processing method parameter are now stored at the channel description string at the file '_CHN.dat'. The idea was to store the used processing parameter for later reference without changing the established ACMEtool data structure.
- Changed processing log to start the image counting with 1 instead of 0
- Added functionality to cancel the running image processing

------------------------------------------------------------------------------------------------------------------------------------------------------
Metadata Analyze Window
- Changed error handling if metadata file to load has wrong version compatibility date. You now could try to load it anyhow or fall back to main window.
(It might be still a problem if a metadata file of correct version has been created on a computer with different regional settings as e.g. date format or decimal symbol is different)

- Window will start maximized now.

- FOV info will be shown automatically after start at lower right corner now. (If closed manually it can be recovered via the menu)
- FOV info, Cell info, ROI info and Marker window are automatically hidden if changing to an other tab now.
- Positioning of Cell info, ROI info and Marker window automatically set to right upper corner of picture box frame.

- Size of picture box is now set according to size of the real image (was fixed 1200x1200)
- Picture box zoom is now calculated according to available screen size and image format and automatically recalculated on window resize in order to exactly fit into the available window space.
- Made mouse scroll-wheel zoom and right-click zoom more fine scale.
- Inserted mouse middle-button (click on scroll) function for zoom reset (fit to window)
- Changed mouse pointer during zoom and move function.

- Implemented scroll-wheel functionality for tree view (going up/down through samples/fov list) and for channel dialog table (going up/down through channels)

- Fixed scroll wheel issue with Windows 10

- Menu entries on sample selection / deselection are now functional (was not implemented before hand)

- Menu entry for removal of images has been deleted (was not functional and is not needed here)

- Changed logo of window form to ACMEtool3 logo

- Changed the design of the channel dialog table
   * Table header is made visible now to show which check box is 'sub set', 'set' and 'invalid' 
   * Table header shows info and used short keys at mouse over now.
   * Column width has been adjusted to fit table width to under laying frame (looks better at Windows 10 colour scheme)
   * Visibility of currently selected channel has been improved. The whole line is now high lighted.
   * Fixed the high lighting functionality for the currently selected channel (was wrong under some conditions).

- Changed the design of the mode selection
   * Only functions (CELL, ROI, or MARKER) which are supported in the currently selected mode (NAVIGATE, DRAW, SELECT or REMOVE) are now enabled.
   * The Cell info, ROI info or Marker window pop up automatically if corresponding function has been selected and close if not. (They can be still opened manually via the menu as well)
   * Added some info text on mouse over

- Fixed error handling at draw marker. Error message came at start of draw marker before.

- Fixed error at creation of new roi if no category has been created beforehand.

- Removed not used menu bar on top of tree view

- Removed 'Sample Browser'-tab (was not in use)

- Rearranged elements on 'Info / Settings'-tab
   * Hide button 'Show FOV info', and 'Show ROI info' (no function yet)
   * Hide cell volume calculation (functionality has been not implemented yet)
   * Size of info text box and frame are now resizing automatically with window.
   * Added new button/functionality to show the channel info.

- On 'Set Definitions'-tab
   * Corrected error message for syntax error at overlap definition (message was referring to subset)
   * If syntax error occurs at calculation, the problematic definition will be now high lighted at the table
   * If syntax error occurs at calculation, the error state is reported back now (calculation method changed from sub to function). In this case calculation finished message is not shown anymore and FOV info is not updated.
   * Adjusted column widths

- On 'Reports'-tab
  * Renamed 'Show Marks' to 'Show Marker' and added tool tip
  * Add tool tip to 'Show Counting Frame Dimension' and 'Show Exposure Time'
  * Added header lines to reports in order to show which type of report has been created
  * After calculation of report the report tab is automatically shown now.
  * On Sample/FOV and ROI report, the feature 'Set' is now selected per default.
  * Fixed ROI report creation. ROI report is now created correctly as strRoiReport (was created as strSampleReport)
  * Show message at ROI report calculation if there are no ROIs to process.
  * Put info to ROI report about the number of all avalible ROIs vrs. number of active ROIs, together with message that only active ROIs are reported.
  * The button 'Calculate ROI Grayvalue Statistics for ROI Report' has been shifted onto the 'Features ROI Report'-tab and added a tooltip.
  * Hide the 'Get Report (old, not so cool)' button
  * Revised the information text on report creation
- On 'ROI Properties' window
  * Added tool tip 



